Lansare CP/M pe HC 92 Pentru a lansa sistemul de operare CP/M pe calculatorul HC 92 se introduce in drive-ul 1 un disc cu sistemul de operare CP/M, se apasa butonul de RESET si apoi se executa linia BASIC: PRINT USR 14446 Claviatura sau Console Input Claviatura are 40 de taste: 26 de litere, 10 cifre, 2 shift, SPACE si CR. Cu toate acestea de la claviatura se pot genera 127 din cele 128 de coduri ASCII - singurul care lipseste este NULL = 00H care nu este necesar in utilizarea programelor sub CP/M. Cele 127 de coduri se obtin fie prin taste simple fie prin combinatii de doua sau trei taste. Pentru anumite coduri, care se obtin printr-o combinatie standard de trei taste, mai exista si o 'scurtatura' de numai doua taste. Este cazul codurilor de control des folosite de WordStar si alte programe pentru pozitionare cursor. In tabela urmatoare sint prezentate tastele sau combinatiile de taste care trebuiesc apasate pentru a obtine cele 127 de coduri. Toate codurile sint in hexa. Coloana Nume ASCII contine modul de referire din manuale la acest cod. Codificarea ^C de exemplu este echivalenta cu ceea ce in anumite manuale se denumeste prin combinatia CONTROL/C sau CTRL/C. Coloana Standard contine tasta sau combinatia de taste standard pentru culegerea codului. CS este prescurtarea pentru CapsShift iar SS este prescurtarea pentru SymbolShift. Pentru a culege ^C se apasa mai intii cu cite un deget de la mina stinga si respectiv dreapta cele doua taste SHIFT si apoi tinind in continuare tastele SHIFT apasate se actioneaza clapa C. Similar se culeg si celelalte coduri care necesita combinatii de taste. Tastatura este prevazuta cu a facilitate de autorepetare. O tasta sau o combinatie de taste care este mentinuta mai multa vreme apasata va declansa dupa un timp o secventa de coduri identice cu codul caracterului apasat. Daca trebuiesc introduse multe litere mari in secventa, se poate actiona combinatia de taste 'CS 2' - adica CapsShift si 2 - pentru a obtine un mod de functionare al claviaturii in care toate literele genereaza codurile corespunzatoare literelor mari indiferent daca tasta CapsShift este apasata sau nu. In acest mod cursorul afisat pe ecran are dimensiunea egala cu inaltimea unei litere mari. Pentru a reveni la modul normal de lucru, se mai actioneaza odata combinatia 'CS 2'. Cursorul se micsoreaza si se pot introduce din nou litere mici. In tabela urmatoare sint prezentate cele 127 de coduri care se pot obtine de la claviatura, in varianta standard si in varianta scurta, daca aceasta exista. Cod Nume Standard Scurtatura Comentariu hexa ASCII 01 ^A CS SS A CS 4 02 ^B CS SS B 03 ^C CS SS C CS 3 04 ^D CS SS D CS 8 Sageata la dreapta 05 ^E CS SS E CS 7 Sageata in sus 06 ^F CS SS F CS 9 07 ^G CS SS G BELL 08 ^H CS SS H BACKSPACE 09 ^I CS SS I TAB 0A ^J CS SS J LINE FEED 0B ^K CS SS K 0C ^L CS SS L FORM FEED 0D ^M CR CARRIAGE RETURN 0E ^N CS SS N 0F ^O CS SS O 10 ^P CS SS P 11 ^Q CS SS Q 12 ^R CS SS R 13 ^S CS SS S CS 5 Sageata la stinga 14 ^T CS SS T 15 ^U CS SS U 16 ^V CS SS V 17 ^W CS SS W 18 ^X CS SS X CS 6 Sageata in jos 19 ^Y CS SS Y 1A ^Z CS SS Z 1B ^[ CS 1 ESCAPE 1C ^\ SS E 1D ^] SS I 1E ^^ SS Q 1F ^_ SS W 20 SP SPACE 21 ! SS 1 22 " SS P 23 # SS 3 24 $ SS 4 25 % SS 5 26 & SS 6 27 ' SS 7 28 ( SS 8 29 ) SS 9 2A * SS B 2B + SS K 2C , SS N 2D - SS J 2E . SS M 2F / SS V 30 0 0 .. 39 9 9 3A : SS Z 3B ; SS O 3C < SS R 3D = SS L 3E > SS T 3F ? SS C 40 @ SS 2 41 A CS A a in CAPS LOCK mode .. 5A Z CS Z z in CAPS LOCK mode 5B [ SS Y 5C \ SS D 5D ] SS U 5E ^ SS H 5F _ SS 0 60 ` SS X 61 a a .. 7A z z 7B { SS F 7C | SS S 7D } SS G 7E ~ SS A 7F DEL CS 0 Ecranul sau Console Output Caracterele trimise spre rutina de Console Output sint interpretate si au ca efect fie afisarea unui caracter pe ecran - daca sint tiparibile - fie au un efect de control al ecranului - daca sint caractere sau secvente de control recunoscute - fie sint ignorate sau au un efect nedeterminat - daca sint caractere de control sau secvente nerecunoscute. Toate caracterele trimise spre Console Output sint mascate cu masca 7F, adica se ignora bitul 7. Caracterele tiparibile sint cuprinse intre 20 hexa (BLANK) si 7E (tilda ~). Caracterul 7F afiseaza in mod exceptional un bloc de puncte. Caracterele de control sint cuprinse intre codurile 00 si 1F. Nu toate sint valide. Cele invalide sint ignorate. Codurile de control valide sint prezentate in continuare. Caracterul 07. mnemonica 'bell' Scurt sunet pe difuzorul calculatorului. Caracterul 08. mnemonica 'backspace' Muta cursorul la stinga, fara sa afecteze caracterele de pe ecran. Caracterul 09. mnemonica 'tab' Muta cursorul la dreapta pina intr-o coloana multiplu de 8. Caracterul 0A. mnemonica 'line feed' Muta cusorul cu o linie in jos. Efectueaza scroll daca este pe ultima linie. Caracterul 0B. mnemonica 'cursor up' Muta cursorul cu o linie in sus. Caracterul 0C. mnemonica 'cursor right' Muta cursorul la dreapta, fara a afecta informatia de pe ecran. Caracterul 0D. mnemonica 'cr' Muta cursorul in prima coloana a liniei curente. Caracterul 18. mnemonica 'clear screen' Sterge ecran si aduce cursor in coltul stinga sus. Caracterul 1A. mnemonica 'clear screen' Sterge ecran si aduce cursor in coltul stinga sus. Caracterul 1B. mnemonica 'escape' Primul caracter al unei secvente de control, denumita si secventa de ESCape. Secventele de ESCape vor fi prezentate mai jos. Caracterul 1E. mnemonica 'home' Aduce cursor in coltul stinga sus. In continuare sint prezentate secventele de ESCape recunoscute. O secventa de ESCape invalida, va avea un efect nedeterminat asupra ecranului. Din acest motiv, sinteti indemnati sa nu folositi secvente de ESCape invalide. Secventa 1B 13. mnemonica 'delete line' Sterge linia in care se afla cursorul. Liniile aflate pe ecran mai jos vor efectua un scroll in sus ocupind locul liniilor de deasupra lor. In ultima linie de pe ecran va apare o linie goala. Cursorul nu-si modifica pozitia. Secventa 1B 1A mnemonica 'insert line' Linia curenta si liniile urmatoare se muta cu o linie mai jos, ultima linie de pe ecran disparind. Linia curenta va fi goala. Cursorul nu-si modifica pozitia. Secventa 1B 41 mnemonica 'set cursor' Cursorul va sari in linia si in coloana specificata de caracterele 3 si respectiv 4 ale secventei. Caracterul care specifica linia ia valori intre 20 si 37 hexa, ceeace corespunde liniilor 0 (sus) si 17 (jos). Caracterul care specifica coloana ia valori intre 20 si 5F hexa, ceeace corespunde coloanelor 0 (stinga) si 3F (dreapta). Secventa 1B 42 mnemonica 'clear end line' Toate caracterele aflate intre pozitia curenta a cursorului inclusiv si ultimul de pe linia curenta vor fi inlocuite cu BLANK. Cursorul nu-si modifica pozitia. Secventa 1B 49 mnemonica 'set ink' Schimba culoarea cernelii cu care vor fi scrise in continuare caracterele pe ecran. Nu are nici un efect asupra caracterelor care sint deja pe ecran. Secventa 1B 50 mnemonica 'set paper' Schimba culoarea hirtiei (fondului) cu care vor fi scrise in continuare caracterele pe ecran. Nu are nici un efect asupra caracterelor care sint deja pe ecran. Secventa 1B 51 mnemonica 'set border' Schimba culoarea marginii ecranului. Secventa 1B 52 mnemonica 'set i/o border' Schimba culoarea pe care o ia marginea ecranului in timpul operatiilor de i/e. Daca codul de culoarea este in intervalul 30..37, schimbarea culorii va fi insotita de un mic click pe difuzor. Daca codul de culoare este in intervalul 20..27, schimbarea culorii marginii se va face in liniste. Secventa 1B 59 mnemonica 'clear end screen' Toate caracterele aflate intre pozitia curenta a cursorului inclusiv si ultimul din ecran vor fi inlocuite cu BLANK. Cursorul nu-si modifica pozitia. Secventa 1B 6A mnemonica 'set inverse' Dupa aceasta secventa toate caracterele vor fi afisate in 'invers video'. Secventa 1B 6B mnemonica 'clear inverse' Dupa aceasta secventa toate caracterele vor fi afisate in 'normal video'. Secventa 1B 70 mnemonica 'semig ON' Activare set alternat de caractere. Setul alternat de caractere va fi prezentat mai jos. Secventa 1B 71 mnemonica 'semig OFF' Dezactivare set alternat de caractere, adica revenire la setul normal de caractere. Secventa 1B 72 mnemonica 'click ON' Fiecare citire de tasta de la claviatura va fi insotita de un click la difuzor dupa aceasta secventa. Secventa 1B 73 mnemonica 'click OFF' Dupa aceasta secventa, citirea tastelor de la claviatura se va face in liniste. Secventa 1B 74 mnemonica 'cursor ON' Cursorul este vizibil pe ecran. Secventa 1B 75 mnemonica 'cursor OFF' Cursorul este invizibil pe ecran. Dupa comutarea in setul alternat, caracterele tiparibile si anume cele cuprinse in intervalul 20..2E hexa, vor afisa alte forme decit in setul standard, si anume un set special conceput pentru incadrarea tabelelor. Aceste caractere sint denumite in literatura caractere semigrafice. Codurile de la 2B la 7F vor afisa forme nedeterminate. Codurile pentru caracterele semigrafice sint: Caracterul 20. mnemonica '| bara verticala' Caracterul 21. mnemonica '-I' Caracterul 22. mnemonica ' colt dreapta sus' Caracterul 23. mnemonica ' colt stinga jos' Caracterul 24. mnemonica '_I_' Caracterul 25. mnemonica 'T' Caracterul 26. mnemonica 'I-' Caracterul 27. mnemonica '- linie orizontala' Caracterul 28. mnemonica '+ cruce' Caracterul 29. mnemonica ' colt dreata jos' Caracterul 2A. mnemonica ' colt stinga sus' Pentru a reveni in setul normal de caractere se trimite spre Console Output secventa 1B 71.